#!/usr/bin/python


import abc
from enum import IntEnum


class Task(object):
    __metaclass__ = abc.ABCMeta

    @abc.abstractmethod
    def extract(self, wp_data):
        raise NotImplementedError

    @abc.abstractmethod
    def execute(self, wp_data):
        raise NotImplementedError

    @abc.abstractmethod
    def save(self):
        raise NotImplementedError


class TaskState(IntEnum):
    success = 1,
    fail = -1,
    empty = 2
